/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package proyecto;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;

/**
 *
 
 */
public class Binarios {
    
    
    public Binarios(){
        
    }
    
    public static void copia (String ficheroOriginal, String ficheroCopia)
	{
		try
		{
                        // Se abre el fichero original para lectura
			FileInputStream fileInput = new FileInputStream(ficheroOriginal);
			BufferedInputStream bufferedInput = new BufferedInputStream(fileInput);
			
			// Se abre el fichero donde se hará la copia
			FileOutputStream fileOutput = new FileOutputStream (ficheroCopia);
			BufferedOutputStream bufferedOutput = new BufferedOutputStream(fileOutput);
			
			// Bucle para leer de un fichero y escribir en el otro.
			byte [] array = new byte[1000]; //declaramos el array de bytes
                        int tamaño=0;
			int leidos = bufferedInput.read(array);//leemos de 1000 en 1000 y metemos los 1000 bytes en array por buffer es mas rapido 
			//System.out.println("leidos valeprimer vez "+leidos);
                        while (leidos > 0)//cuando leidos sea 0 significa que ya termibno de copiar y escribir fragmentos
			{
			tamaño+=leidos;	
                            bufferedOutput.write(array,0,leidos);//decimos cuanto vamos a escribir y escribimos los bytes en array
				leidos=bufferedInput.read(array); //volvemos a leer y asi sucesivamente
                        //System.out.println("leidos vale "+leidos);
                                
                        }
                        //System.out.println("el tamaño del archivo es "+tamaño);
			// Cierre de los ficheros
			bufferedInput.close();
			bufferedOutput.close();
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
        }

    
}
